﻿using System;
using System.Web.Security;
using OwnZTec.Bl;
using OwnZTec.Dto;

namespace OwnZTec.Web.conteudoseguro.login
{
    public partial class Login : System.Web.UI.Page
    {
        #region -- Membros e Construtores -------------------------------------------------------------------------------------------------
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                divMudarSenha.Visible = false;
        }
        #endregion ------------------------------------------------------------------------------------------------------------------------

        #region -- Eventos ----------------------------------------------------------------------------------------------------------------
        protected void CmdLoginClick(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtUsuario.Text) || string.IsNullOrEmpty(txtSenha.Text))
            {
                lblLoginInvalido.Visible = true;
                lblLoginInvalido.Text = "Favor fornecer um usuário e senha.";
                return;
            }

            lblLoginInvalido.Visible = false;
            lblLoginInvalido.Text = "";

            var blUsuario = new BlUsuario();
            var usuario = new DtoUsuario { Login = txtUsuario.Text, Senha = txtSenha.Text };

            var res = blUsuario.ValidarUsuario(usuario);

            if (res == -1)
            {
                lblLoginInvalido.Text = "Usuário ou senha inválidos";
                return;
            }

            usuario = blUsuario.ListarUm(res);

            if (usuario.MudarSenha)
            {
                divMudarSenha.Visible = true;

                rfvSenha.Enabled = false;

                uc1AlterarSenha.Login = txtUsuario.Text;
                uc1AlterarSenha.ExibirUsuario = false;
                uc1AlterarSenha.Tipo = controles.login.AlterarSenha.TipoAlteracao.MudarSenhaSolicitado;

            }
            else
            {
                FormsAuthentication.SetAuthCookie(usuario.Nome, false);

                Response.Redirect("/conteudoseguro/default.aspx");
            }
        }
        #endregion ------------------------------------------------------------------------------------------------------------------------
    }
}